1. Statement of the Technical Field
The present invention relates to computer processing systems. More particularly, the present invention relates to systems and methods for setting user interface indicators on user interface elements of a user interface when code that generates the user interface elements is changed.
2. Description of the Related Art
In code development across all software development, there is a general process that is followed by software developers. First, the software developers write code. The term “code”, as used herein, refers to the symbolic arrangement of data or instructions in a computer program or the set of such instructions. At various stages, the code is implemented in an installable and runable product. The installable and runable product is given to one or more groups of software test engineers. The groups of software test engineers typically include Functional Verification Test (FVT) engineers, System Verification Test (SVT) engineers, and Globalization Verification Test (GVT) engineers. The phrase “Functional Verification Test (FVT)” generally refers to a stage of software testing where an entity verifies that a User Interface (UI) functions the way it is designed to function. The phrase “System Verification Test (SVT)” generally refers to a stage of software testing where an entity verifies that a UI works with any other software that is included as part of a full product being sold. The phrase “Globalization Verification Test (GVT)” refers to a stage of software testing where an entity verifies that displayed text of a UI element accurately translates from a first language (e.g., English) to a second language of choice (e.g., Japanese). The phrase “User Interface (UI)” refers to any software application that has a visual interface that facilitates user-software interactions for accomplishing pre-defined task(s). The UIs typically include, but are not limited to, INTERNET EXPLORER®, FIREFOX®, MICROSOFT® Word, and QUICKBOOKS®.
The software test engineers often face various challenges when performing FVTs, SVTs, GVTs and/or other types of software testing processes. Various challenges occur between code drops. The phrase “code drop” refers to a stage when at least one software developer completes an iteration of an installable and runable product and provides the product to persons that are to test the software (e.g., software test engineers). Upon receipt of the new iteration of the product, each group of software test engineers determines what parts of the product need to be tested for defects. An exemplary defect occurs when a mouse click on a “FileOpen” button causes a software program to crash. These determinations generally involve identifying UI elements that have been added to the product, identifying existing UI elements that have been changed, and/or identifying existing UI elements that have been removed from the product.
Various conventional methods are typically employed by an entity to test a product for defects. One such conventional method generally involves utilizing a tool facilitating automated testing of UIs implemented in a product. For example, a software test engineer installs an iteration of a product on a Personal Computer (PC). Thereafter, the software test engineer runs a test software application. The test software application is typically operative to automatically move a mouse, click on graphical elements of Graphical User Interfaces (GUIs), enter text in text based interfaces, and validate results of certain actions. The result validation is made using data indicating proper results for certain automated actions. This data is provided by the software test engineer. The automated test script is modified each time layout of graphical elements (e.g., buttons) is changed by the software developer.
Another conventional method is a “word of mouth” approach. This approach generally involves generating a list of features (e.g., a bookmark feature) that were implemented in the product by the software developer. The software developer provides the list of features to each groups of software test engineers. Thereafter, the software test engineers test each feature identified in the list for defects.
Another conventional method is a Full Regression Test (FRT) approach. The FRT approach generally involves testing all functions of a product relative so that function change, addition or removal in any new iterations are sure to be covered.